package com.jrx.anytxn.param.dto.investor;

import com.jrx.anytxn.param.entity.PrInvestorLimit;
import io.swagger.annotations.ApiModel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 表：出资方 响应参数表
 *
 * @author 黄秋平
 * @date 2020-05-12 11:03
 **/
@ApiModel(description = "出资方定义表PrInvestorTableRes")
public class PrInvestorTableRes implements Serializable {

    private static final long serialVersionUID = 795830904535705246L;

    private List<PrInvestorLimit> con;

    public List<PrInvestorLimit> getCon() {
        return con;
    }

    public void setCon(List<PrInvestorLimit> con) {
        this.con = con;
    }

    /**
     * 自增主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租户ID
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 出资方id
     * 表字段:investor_id
     */
    private String investorId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 中文名称
     * 表字段:chinese_name
     */
    private String chineseName;

    /**
     * 英文名称
     * 表字段:english_name
     */
    private String englishName;

    /**
     * 状态：1 = 正常0 = 失效
     * 表字段:table_status
     */
    private String tableStatus;

    /**
     * 类型：01 = 银行02 = 金融机构03 = 贷款公司04 = 个人
     * 表字段:table_type
     */
    private String tableType;

    /**
     * 机构法人
     * 表字段:legal_person
     */
    private String legalPerson;

    /**
     * 电话号码
     * 表字段:phone
     */
    private String phone;

    /**
     * 偏好值
     * 表字段:preference_value
     */
    private Integer preferenceValue;

    /**
     * 手续费率
     * 表字段:fee_rate
     */
    private BigDecimal feeRate;

    /**
     * 机构单笔贷款最大值
     * 表字段:single_max_limit
     */
    private BigDecimal singleMaxLimit;

    /**
     * 机构单笔贷款最小值
     * 表字段:single_min_limit
     */
    private BigDecimal singleMinLimit;

    /**
     * 代偿标识
     * 表字段:compensation_flag
     */
    private String compensationFlag;

    /**
     * 代偿天数
     * 表字段:compensation_days
     */
    private Integer compensationDays;

    /**
     * 连续代偿期数
     * 表字段:continuous_compensation_tenors
     */
    private Integer continuousCompensationTenors;

    /**
     * 累计代偿期数
     * 表字段:total_compensation_tenors
     */
    private Integer totalCompensationTenors;

    /**
     * 是否回购标志
     * 表字段:bal_trans_flag
     */
    private String balTransFlag;

    /**
     * 回购期数
     * 表字段:bal_trans_tenors
     */
    private Integer balTransTenors;

    /**
     * 机构备付金账户
     * 表字段:prepaid_account
     */
    private String prepaidAccount;

    /**
     * 机构备付金账户阈值
     * 表字段:prepaid_threshold_amount
     */
    private BigDecimal prepaidThresholdAmount;

    /**
     * 垫资备付金账户
     * 表字段:transit_account
     */
    private String transitAccount;

    /**
     * 垫资备付金账户阈值
     * 表字段:transit_threshold_amount
     */
    private BigDecimal transitThresholdAmount;

    /**
     * 机构风险
     * 表字段:risk
     */
    private String risk;

    /**
     * 机构规模
     * 表字段:org_scale
     */
    private String orgScale;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 授信审批模式1 无需审批2 需要审批
     * 表字段:credit_approve_flag
     */
    private String creditApproveFlag;

    /**
     * 借款审批模式1 无需审批2 需要审批
     * 表字段:loan_approve_flag
     */
    private String loanApproveFlag;

    /**
     * 授信额度
     * 表字段:investor_credit_limit
     */
    private BigDecimal investorCreditLimit;

    /**
     * 授信已用额度
     * 表字段:investor_used_credit_limit
     */
    private BigDecimal investorUsedCreditLimit;

    /**
     * 授信可用额度
     * 表字段:investor_avail_credit_limit
     */
    private BigDecimal investorAvailCreditLimit;

    /**
     * 放款额度
     * 表字段:investor_loan_limit
     */
    private BigDecimal investorLoanLimit;

    /**
     * 放款已用额度
     * 表字段:investor_used_loan_limit
     */
    private BigDecimal investorUsedLoanLimit;

    /**
     * 放款可用额度
     * 表字段:investor_avail_loan_limit
     */
    private BigDecimal investorAvailLoanLimit;

    public String getCreditApproveFlag() {
        return creditApproveFlag;
    }

    public void setCreditApproveFlag(String creditApproveFlag) {
        this.creditApproveFlag = creditApproveFlag;
    }

    public String getLoanApproveFlag() {
        return loanApproveFlag;
    }

    public void setLoanApproveFlag(String loanApproveFlag) {
        this.loanApproveFlag = loanApproveFlag;
    }

    public BigDecimal getInvestorCreditLimit() {
        return investorCreditLimit;
    }

    public void setInvestorCreditLimit(BigDecimal investorCreditLimit) {
        this.investorCreditLimit = investorCreditLimit;
    }

    public BigDecimal getInvestorUsedCreditLimit() {
        return investorUsedCreditLimit;
    }

    public void setInvestorUsedCreditLimit(BigDecimal investorUsedCreditLimit) {
        this.investorUsedCreditLimit = investorUsedCreditLimit;
    }

    public BigDecimal getInvestorAvailCreditLimit() {
        return investorAvailCreditLimit;
    }

    public void setInvestorAvailCreditLimit(BigDecimal investorAvailCreditLimit) {
        this.investorAvailCreditLimit = investorAvailCreditLimit;
    }

    public BigDecimal getInvestorLoanLimit() {
        return investorLoanLimit;
    }

    public void setInvestorLoanLimit(BigDecimal investorLoanLimit) {
        this.investorLoanLimit = investorLoanLimit;
    }

    public BigDecimal getInvestorUsedLoanLimit() {
        return investorUsedLoanLimit;
    }

    public void setInvestorUsedLoanLimit(BigDecimal investorUsedLoanLimit) {
        this.investorUsedLoanLimit = investorUsedLoanLimit;
    }

    public BigDecimal getInvestorAvailLoanLimit() {
        return investorAvailLoanLimit;
    }

    public void setInvestorAvailLoanLimit(BigDecimal investorAvailLoanLimit) {
        this.investorAvailLoanLimit = investorAvailLoanLimit;
    }

    /**
     * 获取自增主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置自增主键
     * @param id 自增主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租户ID
     * @return )
    tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户ID
     * @param
    tenantId 租户ID
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取出资方id
     * @return investorId String
     */
    public String getInvestorId() {
        return investorId;
    }

    /**
     * 设置出资方id
     * @param investorId 出资方id
     */
    public void setInvestorId(String investorId) {
        this.investorId = investorId;
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    /**
     * 获取中文名称
     * @return chineseName String
     */
    public String getChineseName() {
        return chineseName;
    }

    /**
     * 设置中文名称
     * @param chineseName 中文名称
     */
    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    /**
     * 获取英文名称
     * @return englishName String
     */
    public String getEnglishName() {
        return englishName;
    }

    /**
     * 设置英文名称
     * @param englishName 英文名称
     */
    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    /**
     * 获取状态：1 = 正常
     0 = 失效
     * @return tableStatus String
     */
    public String getTableStatus() {
        return tableStatus;
    }

    /**
     * 设置状态：1 = 正常
     0 = 失效
     * @param tableStatus 状态：1 = 正常
    0 = 失效
     */
    public void setTableStatus(String tableStatus) {
        this.tableStatus = tableStatus;
    }

    /**
     * 获取类型：01 = 银行
     02 = 金融机构
     03 = 贷款公司
     04 = 个人
     * @return tableType String
     */
    public String getTableType() {
        return tableType;
    }

    /**
     * 设置类型：01 = 银行
     02 = 金融机构
     03 = 贷款公司
     04 = 个人
     * @param tableType 类型：01 = 银行
    02 = 金融机构
    03 = 贷款公司
    04 = 个人
     */
    public void setTableType(String tableType) {
        this.tableType = tableType;
    }

    /**
     * 获取机构法人
     * @return legalPerson String
     */
    public String getLegalPerson() {
        return legalPerson;
    }

    /**
     * 设置机构法人
     * @param legalPerson 机构法人
     */
    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }

    /**
     * 获取电话号码
     * @return phone String
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 设置电话号码
     * @param phone 电话号码
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }


    /**
     * 获取偏好值
     * @return preferenceValue Integer
     */
    public Integer getPreferenceValue() {
        return preferenceValue;
    }

    /**
     * 设置偏好值
     * @param preferenceValue 偏好值
     */
    public void setPreferenceValue(Integer preferenceValue) {
        this.preferenceValue = preferenceValue;
    }

    /**
     * 获取手续费率
     * @return feeRate BigDecimal
     */
    public BigDecimal getFeeRate() {
        return feeRate;
    }

    /**
     * 设置手续费率
     * @param feeRate 手续费率
     */
    public void setFeeRate(BigDecimal feeRate) {
        this.feeRate = feeRate;
    }

    /**
     * 获取机构单笔贷款最大值
     * @return singleMaxLimit BigDecimal
     */
    public BigDecimal getSingleMaxLimit() {
        return singleMaxLimit;
    }

    /**
     * 设置机构单笔贷款最大值
     * @param singleMaxLimit 机构单笔贷款最大值
     */
    public void setSingleMaxLimit(BigDecimal singleMaxLimit) {
        this.singleMaxLimit = singleMaxLimit;
    }

    /**
     * 获取机构单笔贷款最小值
     * @return singleMinLimit BigDecimal
     */
    public BigDecimal getSingleMinLimit() {
        return singleMinLimit;
    }

    /**
     * 设置机构单笔贷款最小值
     * @param singleMinLimit 机构单笔贷款最小值
     */
    public void setSingleMinLimit(BigDecimal singleMinLimit) {
        this.singleMinLimit = singleMinLimit;
    }

    /**
     * 获取代偿标识
     * @return compensationFlag String
     */
    public String getCompensationFlag() {
        return compensationFlag;
    }

    /**
     * 设置代偿标识
     * @param compensationFlag 代偿标识
     */
    public void setCompensationFlag(String compensationFlag) {
        this.compensationFlag = compensationFlag;
    }

    /**
     * 获取代偿天数
     * @return compensationDays Integer
     */
    public Integer getCompensationDays() {
        return compensationDays;
    }

    /**
     * 设置代偿天数
     * @param compensationDays 代偿天数
     */
    public void setCompensationDays(Integer compensationDays) {
        this.compensationDays = compensationDays;
    }

    /**
     * 获取连续代偿期数
     * @return continuousCompensationTenors Integer
     */
    public Integer getContinuousCompensationTenors() {
        return continuousCompensationTenors;
    }

    /**
     * 设置连续代偿期数
     * @param continuousCompensationTenors 连续代偿期数
     */
    public void setContinuousCompensationTenors(Integer continuousCompensationTenors) {
        this.continuousCompensationTenors = continuousCompensationTenors;
    }

    /**
     * 获取累计代偿期数
     * @return totalCompensationTenors Integer
     */
    public Integer getTotalCompensationTenors() {
        return totalCompensationTenors;
    }

    /**
     * 设置累计代偿期数
     * @param totalCompensationTenors 累计代偿期数
     */
    public void setTotalCompensationTenors(Integer totalCompensationTenors) {
        this.totalCompensationTenors = totalCompensationTenors;
    }

    /**
     * 获取是否回购标志
     * @return balTransFlag String
     */
    public String getBalTransFlag() {
        return balTransFlag;
    }

    /**
     * 设置是否回购标志
     * @param balTransFlag 是否回购标志
     */
    public void setBalTransFlag(String balTransFlag) {
        this.balTransFlag = balTransFlag;
    }

    /**
     * 获取回购期数
     * @return balTransTenors Integer
     */
    public Integer getBalTransTenors() {
        return balTransTenors;
    }

    /**
     * 设置回购期数
     * @param balTransTenors 回购期数
     */
    public void setBalTransTenors(Integer balTransTenors) {
        this.balTransTenors = balTransTenors;
    }

    /**
     * 获取机构备付金账户
     * @return prepaidAccount String
     */
    public String getPrepaidAccount() {
        return prepaidAccount;
    }

    /**
     * 设置机构备付金账户
     * @param prepaidAccount 机构备付金账户
     */
    public void setPrepaidAccount(String prepaidAccount) {
        this.prepaidAccount = prepaidAccount;
    }

    /**
     * 获取机构备付金账户阈值
     * @return prepaidThresholdAmount BigDecimal
     */
    public BigDecimal getPrepaidThresholdAmount() {
        return prepaidThresholdAmount;
    }

    /**
     * 设置机构备付金账户阈值
     * @param prepaidThresholdAmount 机构备付金账户阈值
     */
    public void setPrepaidThresholdAmount(BigDecimal prepaidThresholdAmount) {
        this.prepaidThresholdAmount = prepaidThresholdAmount;
    }

    /**
     * 获取垫资备付金账户
     * @return transitAccount String
     */
    public String getTransitAccount() {
        return transitAccount;
    }

    /**
     * 设置垫资备付金账户
     * @param transitAccount 垫资备付金账户
     */
    public void setTransitAccount(String transitAccount) {
        this.transitAccount = transitAccount;
    }

    /**
     * 获取垫资备付金账户阈值
     * @return transitThresholdAmount BigDecimal
     */
    public BigDecimal getTransitThresholdAmount() {
        return transitThresholdAmount;
    }

    /**
     * 设置垫资备付金账户阈值
     * @param transitThresholdAmount 垫资备付金账户阈值
     */
    public void setTransitThresholdAmount(BigDecimal transitThresholdAmount) {
        this.transitThresholdAmount = transitThresholdAmount;
    }

    /**
     * 获取机构风险
     * @return risk String
     */
    public String getRisk() {
        return risk;
    }

    /**
     * 设置机构风险
     * @param risk 机构风险
     */
    public void setRisk(String risk) {
        this.risk = risk;
    }

    /**
     * 获取机构规模
     * @return orgScale String
     */
    public String getOrgScale() {
        return orgScale;
    }

    /**
     * 设置机构规模
     * @param orgScale 机构规模
     */
    public void setOrgScale(String orgScale) {
        this.orgScale = orgScale;
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 获取记录版本号
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

}
